package com.ashbur.middleware.whitelist.config;

import com.ashbur.middleware.whitelist.DoJoinPoint;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * @author : Eumenides
 * @Description :
 * @date : 2022/7/17
 * @Copyright ： 公众号：菜鸟的大厂梦
 */
@Configuration //@Configuration，可以算作是一个组件注解，在 SpringBoot 启动时可以进行加载创建出 Bean 文件。因为 @Configuration 注解有一个 @Component 注解
@ConditionalOnClass(WhiteListProperties.class) //@ConditionalOnClass(WhiteListProperties.class)，当 WhiteListProperties 位于当前类路径上，才会实例化一个类。除此之外还有其他属于此系列的常用的注解。
@EnableConfigurationProperties(WhiteListProperties.class)
public class WhiteListAutoConfigure {

    @Bean("whiteListConfig")
    @ConditionalOnMissingBean //@ConditionalOnMissingBean,代表只会实例化一个 Bean 对象。
    public String whiteListConfig(WhiteListProperties properties) {
        return properties.getUsers();
    }

}
